User interface adaptation based on detected user location

ABSTRACT

A method is performed at an electronic device that includes a plurality of sensors. The device detects, by a first set of the sensors, information from an environment of the device. The device obtains content for display by the device. It determines, based on the information from the environment, whether a user is in close physical proximity. Based on a determination that the user is in proximity, the device determines using a second set of the sensors a location of the user relative to the device, and an orientation for displaying the content on the display based on the relative location. The device reformats the content for display on the display based on the user location and/or a rotation of the display with respect to the orientation, and displays the reformatted content on the display.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/677,274, filed Aug. 15, 2017, titled “User Interface Adaption Basedon Detected User Location,” which is a continuation of U.S. patentapplication Ser. No. 14/447,649, filed Jul. 31, 2014, titled “UserInterface Adaption Based on Detected User Location.” now U.S. Pat. No.9,746,901, issued Aug. 29, 2017, each of which is hereby incorporated byreference herein in its entirety.

BACKGROUND

As technology has advanced, the number and types of computing devicesavailable has increased. This has resulted in users increasingly relyingon their computing devices to perform a wide variety of different tasks.These different tasks oftentimes involve presenting content on a displayof the device for the user to view. Unfortunately, this content istypically displayed in a default manner that the user must changemanually to conform to his or her desires, such as by zooming in orzooming out on the content, by changing between portrait and landscapemodes, and so forth. This manual changing can be time consuming andannoying for the user, leading to poor user experiences and userfrustration with their devices.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of user interface adaptation based on detected user locationare described with reference to the following drawings. The same numbersare used throughout the drawings to reference like features andcomponents:

FIG. 1 illustrates an example computing device implementing the userinterface adaptation based on detected user location in accordance withone or more embodiments;

FIG. 2 illustrates an example of the location of the user relative to acomputing device in accordance with one or more embodiments;

FIG. 3 illustrates an example of the orientation of content presented ona display of a computing device in accordance with one or moreembodiments;

FIG. 4 illustrates an example process for implementing the userinterface adaptation based on detected user location in accordance withone or more embodiments;

FIG. 5 illustrates an example of the orienting of content presented on adisplay in accordance with one or more embodiments;

FIG. 6 illustrates another example of the orienting of content presentedon a display in accordance with one or more embodiments;

FIGS. 7, 8, 9, and 10 illustrate additional examples of the orienting ofcontent presented on a display in accordance with one or moreembodiments.

FIGS. 11 and 12 illustrate examples of the enlarging and reducing ofcontent presented on a display in accordance with one or moreembodiments; and

FIG. 13 illustrates an example electronic device that can implementembodiments of the techniques discussed herein.

DETAILED DESCRIPTION

User interface adaptation based on detected user location is discussedherein. A computing device detects when a user is in close physicalproximity to the computing device, such as within a few feet of thecomputing device. While the user is in close physical proximity to thecomputing device, the computing device also detects the location of theuser relative to the computing device, and optionally a speed at whichthe user is moving. The user interface (UI) presented by the computingdevice is adapted to the location of the user relative to the computingdevice and optionally to the speed at which the user is moving.

The user interface can be adapted by orienting content presented on adisplay of the computing device based on the location of the userrelative to the computing device. The content is oriented so that thecontent is presented on the display to provide optimal readability(e.g., for written words or other text) and/or optimal viewability(e.g., for graphics) by the user. Optimal readability by the user refersto written words or other text being displayed such that the user canread approximately horizontally from left to right or right to leftbased on the typical reading direction given the language displayed(e.g., left to right for English or Spanish, and right to left forHebrew or Arabic). Optimal viewability by the user refers to graphicsbeing displayed such that the object or scene is viewed approximately“right side up” as opposed to upside down or at an angle with respect tothe user. Thus, the content appears on the display “upright” or “rightside up” for the user to view. The user interface can also be adapted inother manners based on the location or speed of the user, such aschanging colors or the brightness of the display, changing which contentis displayed (including zooming in or zooming out on content), and soforth.

The user interface is adapted in the absence of physical manipulation ofthe computing device by the user. For example, the computing device canbe sitting on a table, and as the user approaches the table or movesaround the table, the user interface is adapted based on the location,speed, or both of the user. E.g., as the user approaches the table ormoves around the table, the content presented on the display is orientedso that at any particular time the content is presented on the displayto provide one or both of optimal readability and optimal viewability.The user need not pick up the computing device and rotate or otherwisemanipulate the computing device in order to change the user interface;no accelerometers, gyroscopes, and so forth need be implemented in orderto change the user interface.

FIG. 1 illustrates an example computing device 102 implementing the userinterface adaptation based on detected user location in accordance withone or more embodiments. The computing device 102 can be any of avariety of different types of devices, such as a laptop computer, acellular or other wireless phone, a tablet computer, an entertainmentdevice, an audio and/or video playback device, a server computer, and soforth. The computing device 102 includes one or more sensors 112, a userinterface presentation module 114, and a user interface adaptationsystem 116.

The sensors 112 are one or more sensors that detect a user (a person) inclose physical proximity to the computing device 102. A user being inclose physical proximity to the computing device 102 refers to the userbeing close enough to the computing device 102 to be detected by thesensors 112, or to the user being within a threshold distance of thecomputing device 102 (e.g., within 3 feet or 5 feet of the computingdevice 102). Different sensors can have the ability to detect users atdifferent ranges, thus the specific distance that is close physicalproximity can vary based on the particular sensors 112.

The sensors 112 can include different types of sensors, including lowenergy (e.g., passive) sensors, higher energy sensors, or combinationsthereof. In one or more embodiments, the sensors 112 include one or moremotion sensors, such as infrared (IR) motion sensors. Alternatively,other types of motion sensors other than IR sensors can be used, such asultrasonic motion sensors. Furthermore, the sensors 112 can includeother types of sensors that are able to detect the presence of a user inthe absence of motion (e.g., when the user is not moving). For example,the sensors 112 can include one or more IR passive sensors (e.g., heatsensors).

Additionally or alternatively, the sensors 112 can include one or morecameras or other imaging components. These cameras or other imagingcomponents can capture images of the area surrounding the computingdevice 102, which can be analyzed by various control components ormodules of the computing device 102 to detect users in close physicalproximity to the computing device 102.

Furthermore, the sensors 112 can alternatively or additionally includeone or more microphones. These microphones can sense sound waves in thearea surrounding the computing device 102, which can be analyzed byvarious control components or modules of the computing device 102 todetect users in close physical proximity to the computing device 102.

The user interface presentation module 114 manages the presentation of auser interface on a display of the computing device 102, includingpresenting content on the display as well as presenting content on otherdevices (e.g., playing back audio content via a speaker). Variousdifferent content can be presented on the display as part of the userinterface, such as graphics (e.g., video or images), written words orother text, combinations thereof, and so forth. The content to bepresented as part of the user interface can be received from variousdifferent modules, components, programs, and so forth of the computingdevice 102.

The user interface adaptation system 116 includes a user locationdetermination module 118, a user speed determination module 120, acontent orientation module 122, and a presentation change module 124.The user location determination module 118 determines, based oninformation obtained from the one or more sensors 112, the location ofthe user relative to the computing device 102. The location of the userrelative to the computing device 102 refers to a direction from thecomputing device 102 that the user is situated, and optionally adistance away from the computing device 102 that the user is situated.

FIG. 2 illustrates an example of the location of the user relative to acomputing device in accordance with one or more embodiments. In theexample of FIG. 2, a computing device 202 is illustrated with a360-degree)(360° coordinate system is established, allowing thedirection from the computing device that a user is situated to beidentified. For example, the user 204 is situated at a direction of 45°from the computing device 202, and the user 206 is situated at adirection of 270° from the computing device 202.

Although a 360° coordinate system having a particular origin (0°direction) is illustrated in FIG. 2, it is to be appreciated that thisis an example and that a 360° coordinate system with different originscan be used, different coordinate systems can be used, and so forth. Forexample, rather than a 360° coordinate system, compass directions can beused. Thus, the 0° direction illustrated in FIG. 2 could be North, inwhich case the user 204 is situated at a direction Northeast from thecomputing device 202, and the user 206 is situated at a direction Westfrom the computing device 202.

Returning to FIG. 1, the user location determination module 118 candetermine the location of the user in various different manners based onthe types of the sensors 112 and the information that the sensors 112provide. In one or more embodiments, the sensors 112 detect motion. Insuch embodiments, the location of the user relative to the computingdevice 102 is the direction of the detected motion.

Additionally or alternatively, the sensors 112 can include cameras orother imaging components that capture images. Various public orproprietary user detection techniques can be used to detect faces orusers within the captured images. The location of the user relative tothe computing device 102 can include the direction of the detected facesor users in the captured images. Various public or proprietarytechniques can also be used to determine the distance between thecomputing device 102 and the detected faces or users within the capturedimages. In such situations, the location of the user relative to thecomputing device 102 can also include the distance between the user andthe computing device 102.

Additionally or alternatively, the sensors 112 can include microphonesthat sense sound waves. Various public or proprietary techniques can beused to detect a direction from which the sound waves originated (e.g.,based on the difference in timing of receipt of the sound waves atdifferent microphones). The location of the user relative to thecomputing device 102 can include the direction from which the soundwaves originated. Various public or proprietary techniques can also beused to determine the distance between the computing device 102 and anorigination point of the sound waves (e.g., where the user is situated).In such situations, the location of the user relative to the computingdevice 102 can also include the distance between the user and thecomputing device 102.

The user speed determination module 120 determines a speed at which auser is moving relative to the computing device 102. The location of theuser can be detected in different manners as discussed above, andvarious public or proprietary techniques can be used to track the useras he or she moves to different locations over time. For example, thedetected face of a user can be tracked, the detected sound waves of auser's voice can be tracked, and so forth. By tracking the location ofthe user over time, the speed of the user relative to the computingdevice 102 can be readily determined. Furthermore, by tracking thelocation of the user over time, a direction of movement of the user canbe readily determined. For example, whether the user is moving towardsthe computing device 102 can be determined, whether the user is movingaway from the computing device 102 can be determined, whether the useris moving but keeping approximately a constant distance away from thecomputing device 102 can be determined, and so forth.

In one or more embodiments, the sensors 112 include different types ofsensors, and these different types of sensors are used concurrently orconsecutively by the modules 118 or 120 to determine the location orspeed of the user relative to the computing device 102. For example, IRmotion sensors can be used to detect when a user is in close physicalproximity to the computing device 102, and in response to detecting thata user is in close physical proximity to the computing device 102 one ormore cameras can be activated to determine the location, speed, or bothof the user. By way of another example, if a user is detected as movingrelative to the computing device 102, then IR motion sensors can be usedto detect the location, speed, or both of the user relative to thecomputing device 102; however, if the user ceases moving relative to thecomputing device 102, then one or more cameras or microphones can beactivated to determine the location, speed, or both of the user.

The content orientation module 122 determines, based on the location ofthe user relative to the computing device 102, the orientation for thecontent presented on the display of the computing device 102. Thecontent orientation module 122 provides an indication of the orientationto the user interface presentation module 114, which presents content ofthe user interface on the display with the indicated orientation. Thecontent orientation module 122 determines an orientation for the contentpresented on the display so that the content is presented on the displayto provide optimal readability (e.g., for written words or other text)and/or optimal viewability (e.g., for graphics) by the user. Forexample, if the content is lines of English text, the text is displayedso as to be read from left to right by the user. The orientation for thecontent presented on the display can be represented in various forms,such as an indication of a number of degrees to rotate the display, anindication of a compass direction that is “left” or “right”, and soforth.

The presentation change module 124 determines additional changes to bemade to the user interface (e.g., in addition to any changes in theorientation of the content). These additional changes can be based onthe location of the user relative to the computing device 102, the speedof the user relative to the computing device 102, or combinationsthereof. These changes can include changes to the content that ispresented on the display, changes in the manner in which the content ispresented on the display, changes in the manner in which the content isotherwise presented (e.g., changes in volume level of audio content),combinations thereof, and so forth as discussed in more detail below.

Although various different individual modules 114 and 118-124 areillustrated, multiple ones of the modules 114 and 118-124 can becombined into a single module, functionality of one or more of themodules 114 and 118-124 can be implemented by another of the modules 114and 118-124, one or more of the modules 114 and 118-124 can be separatedinto multiple modules or components, and so forth. The modules 114 and118-124 can each be implemented in software, firmware, hardware, orcombinations thereof.

FIG. 3 illustrates an example of the orientation of content presented ona display of a computing device in accordance with one or moreembodiments. A display 300 is illustrated displaying content that isgraphics (a vehicle in this example). Assuming a user is at a locationso as to be looking at the display 300 in the direction indicated byarrow 302, the content is presented on the display so as to be viewedapproximately “right side up” as opposed to upside down or at an anglewith respect to the user.

FIG. 4 illustrates an example process 400 for implementing the userinterface adaptation based on detected user location in accordance withone or more embodiments. Process 400 is carried out at least in part bya computing device such as computing device 102 of FIG. 1, and can beimplemented in software, firmware, hardware, or combinations thereof.Process 400 is shown as a set of acts and is not limited to the ordershown for performing the operations of the various acts. Process 400 isan example process for implementing user interface adaptation based ondetected user location; additional discussions of implementing userinterface adaptation based on detected user location are included hereinwith reference to different figures.

In process 400, a user in close physical proximity to the computingdevice is detected (act 402). The user being in close physical proximitycan be detected using various detection techniques and information fromvarious sensors, as discussed above.

A location of the user relative to the computing device is determined(act 404). The location includes at least the direction from thecomputing device that the user is situated. The location can bedetermined in various manners based on the types of sensors used, asdiscussed above.

The content presented on the display of the computing device is orientedbased on the location of the user relative to the computing device (act406). The content orientation module 122 determines an orientation forthe content presented on the display so that the content is presented onthe display to provide optimal readability (e.g., for written words orother text) and/or optimal viewability (e.g., for graphics) by the useras discussed above.

FIG. 5 illustrates an example of the orienting of content presented on adisplay in accordance with one or more embodiments. A user 500 isapproaching a computing device 502 resting on a table 504. The computingdevice 502 detects the user 500 being in close physical proximity to thecomputing device 502, and determines the location of the user relativeto the computing device 502. The content presented on the display of thecomputing device 502 is oriented based on the location of the user 500so that the content is presented on the display to provide optimalreadability (e.g., for written words or other text) and/or optimalviewability (e.g., for graphics) by the user. An expanded view 506 ofthe display of the computing device 502 is illustrated. As can be seen,the content presented on the display is oriented so that the contentappears “right side up” to the user 500.

FIG. 6 illustrates another example of the orienting of content presentedon a display in accordance with one or more embodiments. A user 500 isapproaching a computing device 502 resting on a table 504, the computingdevice 502 detects the user 500 being in close physical proximity to thecomputing device 502, and the computing device 502 determines thelocation of the user relative to the computing device 502. This isanalogous to the example in FIG. 5, although the location of the userrelative to the computing device 502 has changed. The content presentedon the display of the computing device 502 is oriented based on thelocation of the user 500 so that the content is presented on the displayto provide optimal readability (e.g., for written words or other text)and/or optimal viewability (e.g., for graphics) by the user. An expandedview 602 of the display of the computing device 502 is illustrated. Ascan be seen, the content presented on the display is oriented so thatthe content appears “right side up” to the user 500. Thus, regardless ofwhether the user 500 is at the location relative to the computing device502 as illustrated in FIG. 5 or the location relative to the computingdevice 502 as illustrated in FIG. 6, the content presented on thedisplay is oriented so that the content appears “right side up” to theuser 500.

FIGS. 7-10 illustrate additional examples of the orienting of contentpresented on a display in accordance with one or more embodiments. FIGS.7, 8, 9, and 10 illustrate four different environments 702, 802, 902,and 1002, respectively, in which a computing device 704 is resting flaton a table 706. FIGS. 7, 8, 9, and 10 illustrate an environment 702,802, 902, and 1002, respectively, with a top-down view, as if lookingdown at the top of the table 706 (from a viewing point above the table706). The display of the computing device 704 is visible, and thecontent presented on the display is written words (the phrase “GoodMorning”). In environment 702 of FIG. 7, a user is detected at location710 (marked by an “X”) as being in close physical proximity to thecomputing device 704. In response, the content is oriented so that thecontent is presented on the display of the computing device 704 toprovide optimal readability for a user at the location 710.

In environment 802 of FIG. 8, a user is detected at location 810 (markedby an “X”) as being in close physical proximity to the computing device704. In response, the content is oriented so that the content ispresented on the display of the computing device 704 to provide optimalreadability for a user at the location 810. Similarly, in environment902 of FIG. 9, a user is detected at location 910 (marked by an “X”) asbeing in close physical proximity to the computing device 704. Inresponse, the content is oriented so that the content is presented onthe display of the computing device 704 to provide optimal readabilityfor a user at the location 910. And, in environment 1002 of FIG. 10, auser is detected at location 1010 (marked by an “X”) as being in closephysical proximity to the computing device 704. In response, the contentis oriented so that the content is presented on the display of thecomputing device 704 to provide optimal readability for a user at thelocation 1010.

Returning to FIG. 4, in one or more embodiments orientation of thecontent presented on the display in act 406 is changed in particularincrements. Different increments can be used, such as increments of 1°,increments of 90° (e.g., corresponding to a landscape orientation, aportrait orientation, an upside down landscape orientation, and anupside down portrait orientation), and so forth. In such embodiments,the content presented on the display is oriented in act 406 to anincrement that is close to the determined direction of the user. Theincrement that is close to the determined direction of the user can bethe increment that is closest to the direction of the user, oralternatively another increment. For example, if the increments are 90°and the direction of the user as determined in act 404 is 80°, then theorientation of the content presented on the display can be the 90°increment. E.g., if the user 500 of FIG. 6 were determined to be at adirection of 80° relative to the computing device 502, the display ofthe content can be at 90° (such as illustrated in expanded view 602).

Additionally, the location of the user relative to the computing deviceas determined in act 404 can also include a distance between the userand the computing device as discussed above. The user interface isoptionally changed based on the distance between the user and thecomputing device (act 408). This change to the user interface can be afurther change in addition to orienting the content presented on thedisplay in act 406, or alternatively can be performed without changingthe orientation of the content presented on the display in act 406.

Various different changes to the user interface can be made in act 408.The changes can be changes as to which content is displayed, includingenlarging (e.g., zooming in or increasing the magnification of) thecontent presented on the display or reducing (e.g., zooming out orreducing the magnification of) the content presented on the display. Forexample, the content presented on the display can be enlarged for usersat least a threshold distance (e.g., a particular number of feet) awayfrom the computing device, and reduced for users within the thresholddistance of the computing device. The amount of enlarging or reducing ofthe content presented on the display can also vary in multiple steps orincrements as the user gets further from or closer to the computingdevice. For example, the content presented on the display can beenlarged one amount if the user is at least a first threshold distanceaway from the computing device, the content presented on the display canbe enlarged another amount if the user is at least a second thresholddistance away from the computing device, the content presented on thedisplay can be enlarged yet another amount if the user is at least athird threshold distance away from the computing device, and so forth.

This enlarging of the content presented on the can include enlarging thecontent so that all of the content cannot be displayed at the same time,and only a portion of the content is displayed at any given time. Insuch situations, the content can be presented in a fixed mode in which aparticular portion of the content is displayed and the particularportion that is displayed cannot be changed. Alternatively, the contentcan be presented in a scroll mode in which the particular portion of thecontent that is displayed can be changed in response to various userinputs to the computing device (e.g., voice commands detected by amicrophone of the computing device, hand gestures detected by a cameraof the computing device, and so forth). Alternatively, the content canbe presented in a banner mode in which the particular portion of thecontent that is displayed is changed automatically by the computingdevice. For example, in banner mode a particular portion is changedautomatically after every threshold amount of time (e.g., one-halfsecond, one second, three seconds, ten seconds, and so forth). Theparticular portion is changed so that the one side (e.g., the left side)of the content appears to move off the display to that one side, and newcontent appears to move onto the display from the opposite side (e.g.,the right side), the particular portions wrapping around in a loop sothat the content appears to be continually cycled or rotated through.E.g., the content may be the current time of 11:45 pm and the content isenlarged so that only three characters can be displayed at a time. Inbanner mode, the particular portion displayed would be “11:”, and afterthe threshold amount of time would change to “1:4”, and after thethreshold amount of time would change to “0:45”, and so forth.

FIGS. 11 and 12 illustrate examples of the enlarging and reducing ofcontent presented on a display in accordance with one or moreembodiments. A display 1100 is illustrated displaying content that isgraphics (a vehicle). The content is enlarged in FIG. 11 (e.g., inresponse to the user being at least a threshold distance away from thecomputing device), preventing all of the content from being displayed atthe same time. However, if the user is further away from the device, heor she is more likely to be able to see and understand the content thatis displayed despite the distance. The content is reduced in FIG. 12(e.g., in response to the user not being at least a threshold distanceaway from the computing device), allowing all of the content to bedisplayed at the same time. If the user is closer to the device he orshe is likely to be able to still see and understand the content that isdisplayed given his or her closeness to the device.

Returning to FIG. 4, the changes to the user interface can also includechanges in what content is displayed. For example, the user interfacemay display content that is a current time in large numbers if the useris at least a threshold distance away from the computing device, butdisplay content that is the current time in smaller numbers and alsodisplay additional information (e.g., a current date, calendar entriesfor the current date, etc.) if the user is within the threshold distanceof the computing device.

The changes to the user interface can also include changes to the mannerin which content is displayed. For example, a brightness of the displaycan be changed, the brightness being increased if the user is at least athreshold distance away from the computing device, and the brightnessbeing decreased if the user is within the threshold distance of thecomputing device. By way of another example, the colors used to displaythe content can be changed, such as one color (e.g., green) being usedto display content (e.g., a current time) if the user is at least athreshold distance away from the computing device, and another color(e.g., blue) being used to display the content if the user is within thethreshold distance of the computing device.

The changes to the user interface can also include changes to contentpresented in manners other than being displayed, such as the playback ofaudible content. For example, the volume level of audio playback can bechanged, the volume level being increased if the user is at least athreshold distance away from the computing device, and the volume levelbeing decreased if the user is within the threshold distance of thecomputing device.

Additionally, a speed at which the user is moving relative to thecomputing device can optionally be determined (act 410). The speed atwhich the user is moving can be determined in various manners based onthe types of sensors used, as discussed above. The user interface isoptionally changed based on the speed at which the user is movingrelative to the computing device (act 412). This change to the userinterface can be a further change in addition to orienting the contentpresented on the display in act 406 and/or the change in act 408, oralternatively can be performed without changing the orientation of thecontent presented on the display in act 406 or otherwise changing theuser interface in act 408.

Various different changes to the user interface can be made in act 412.The changes can be changes as to which content is displayed, includingzooming in (e.g., enlarging) the content or zooming out (e.g., reducing)the content. For example, the content presented on the display can bereduced for users that are moving towards the display at at least athreshold speed (e.g., a particular number of feet per second), thecomputing device assuming that the user is moving quickly towards his orher device to use it. Similarly, the content presented on the displaycan be enlarged for users that are not moving towards the computingdevice at at least the threshold speed. This enlarging of the contentcan include enlarging the content so that all of the content cannot bedisplayed at the same time, and only a portion of the content isdisplayed at any given time.

It should be noted that the user can be detected in act 402 as being inclose physical proximity to the computing device using any one or moreof the various sensors discussed above. For example, the user can bedetected as being in close physical proximity to the computing device byone or more motion sensors of the computing device, and in response theappropriate content (e.g., a lock screen, the content displayed by aparticular program running on the computing device, etc.) can bedisplayed with the proper orientation, as discussed above.

By way of another example, the user can be detected as being in closephysical proximity to the computing device by a microphone of thecomputing device detecting a particular audible input, such as aparticular phrase (e.g., “OK Google Now”) or other sound. In response todetecting the particular audible input, the computing device wakes up(e.g., transitions to a higher power mode) and invokes listening acrossmultiple microphones. The user can then say what he or she wants thecomputing device to do (e.g., get a weather forecast by asking “What isthe weather forecast”), in response to which the content (the currentweather forecast) is re-oriented as appropriate to the detected locationof the user. Additional content, such as an audio playback of thecurrent weather forecast, can also be presented by the computing device.This additional content can include the same information as thedisplayed content, or different information. For example, the audioplayback may be a predicted high temperature, low temperature, andchance of precipitation during the next 12 hours. The displayed content,however, can include hourly predicted temperatures for the next 12hours, hourly chances of precipitation during the next 12 hours, thetime of the next sunset, the time of the next sunrise, and so forth.

In one or more embodiments, various ones of acts 404-412 are repeated asa user moves around the computing device. As the user moves around thecomputing device (e.g., if the user were to walk in a circle around thetable 504 of FIG. 5 or 6), his or her location relative to the computingdevice changes. For example, acts 404 and 406 can be repeated so thatthe content presented on the display appears to rotate as the user movesaround the computing device. Thus, new locations of the user aredetermined as the user moves and the content presented on the display isoriented based on these new locations. An angular threshold (e.g., 5degrees, 15 degrees, 45 degrees, and so forth) can optionally be used sothat the orientation of the content presented on the display changesonly if the user movement relative to the computing device exceeds theangular threshold. Thus, if the user were to move side to side a smallamount (less than the angular threshold), the orientation of the contentpresented on the display would remain unchanged.

A time limit can optionally be imposed on the orienting the contentpresented on the display in act 406 as acts 404 and 406 are repeated sothat the orientation of the content is not changed at greater than athreshold frequency (e.g., not more than once every 3 seconds, onceevery 5 seconds, once every 10 seconds, and so forth). By imposing thistime limit, the content presented on the display does not appear to theuser to be constantly moving. Similarly, a time limit can optionally beimposed on the changing of the user interface in one or both of acts 408and 412 so that the user interface is not changed at greater than thethreshold frequency.

Situations can arise in which multiple different users are detected inclose physical proximity to the computing device in act 402. In suchsituations, one of the multiple users is selected as the user for whichthe location is determined in act 404, the speed is determined in act410, the content presented on the display is oriented in act 406, andother changes are made to the user interface in acts 408 and 412. Theone of the multiple users can be selected using various criteria orcharacteristics, and various different techniques can be used todetermine different criteria or characteristics. For example,beam-forming and voice analysis can be used to identify different voicescorresponding to different users and the locations of those differentusers. By way of another example, face recognition techniques can beused to identify a particular user (e.g., a user that owns or is signedinto the computing device). By way of another example, object trackingtechniques can be used to identify which users are moving away from thecomputing device, which users are moving towards the computing device,and so forth.

These various criteria or characteristics can be used in differentmanners to select the one of the multiple users for acts 404-412. Forexample, the one of the multiple users that is selected can be the userthat is determined to be physically closest to the computing device, theuser determined to be moving the fastest, the user having a face that isrecognized by the computing device, the user that is moving towards thecomputing device, and so forth.

It should be noted that which of multiple users is selected for acts404-412 can change over time. Thus, for example, two different users canbe in close physical proximity to the computing device at the same time,and the user that is talking at any given time can be the user that isselected for acts 404-412. Thus, the content orientation is changed andother user interface changes in different manners based on the location,distance, speed, or combinations thereof of the user that is talking atany given time.

FIG. 13 illustrates various components of an example electronic device1300 that can be implemented as a computing device as described withreference to any of the previous FIGS. 1-12. The device 1300 may beimplemented as any one or combination of a fixed or mobile device in anyform of a consumer, computer, portable, user, communication, phone,navigation, gaming, messaging, Web browsing, paging, media playback, orother type of electronic device such as a computing device 102, 202, or502 described above.

The electronic device 1300 can include one or more data input components1302 via which any type of data, media content, or inputs can bereceived such as user-selectable inputs, messages, music, televisioncontent, recorded video content, and any other type of audio, video, orimage data received from any content or data source. The data inputcomponents 1302 may include various data input ports such as universalserial bus ports, coaxial cable ports, and other serial or parallelconnectors (including internal connectors) for flash memory, DVDs,compact discs, and the like. These data input ports may be used tocouple the electronic device to components, peripherals, or accessoriessuch as keyboards, microphones, or cameras. The data input components1302 may also include various other input components such asmicrophones, touch sensors, keyboards, and so forth.

The electronic device 1300 of this example includes a processor system1304 (e.g., any of microprocessors, controllers, and the like) or aprocessor and memory system (e.g., implemented in a system on a chip),which processes computer executable instructions to control operation ofthe device. A processing system may be implemented at least partially inhardware that can include components of an integrated circuit or on-chipsystem, an application specific integrated circuit, a field programmablegate array, a complex programmable logic device, and otherimplementations in silicon or other hardware. Alternatively or inaddition, the electronic device 1300 can be implemented with any one orcombination of software, hardware, firmware, or fixed logic circuitryimplemented in connection with processing and control circuits that aregenerally identified at 1306. Although not shown, the electronic devicecan include a system bus or data transfer system that couples thevarious components within the device. A system bus can include any oneor combination of different bus structures such as a memory bus ormemory controller, a peripheral bus, a universal serial bus, or aprocessor or local bus that utilizes any of a variety of busarchitectures.

The electronic device 1300 also includes one or more memory devices 1308that enable data storage such as random access memory, nonvolatilememory (e.g., read only memory, flash memory, erasable programmable readonly memory, electrically erasable programmable read only memory, etc.),and a disk storage device. A memory device 1308 provides data storagemechanisms to store the device data 1310, other types of information ordata (e.g., data backed up from other devices), and various deviceapplications 1312 (e.g., software applications). For example, anoperating system 1314 can be maintained as software instructions with amemory device and executed by the processor system 1304.

In one or more embodiments the electronic device 1300 includes a userinterface adaptation system 116 and one or more sensors 112, describedabove. Although represented as a software implementation, modules of theuser interface adaptation system 116 may be implemented as any form of acontrol application, software application, signal processing and controlmodule, firmware that is installed on the device 1300, a hardwareimplementation of the modules, and so on.

Moreover, in one or more embodiments the techniques discussed herein canbe implemented as a computer-readable storage medium having computerreadable code stored thereon for programming a computing device (forexample, a processor of a computing device) to perform a method asdiscussed herein. Computer-readable storage media refers to media and/ordevices that enable persistent and/or non-transitory storage ofinformation in contrast to mere signal transmission, carrier waves, orsignals per se. Computer-readable storage media refers to non-signalbearing media. Examples of such computer-readable storage mediumsinclude, but are not limited to, a hard disk, a CD-ROM, an opticalstorage device, a magnetic storage device, a ROM (Read Only Memory), aPROM (Programmable Read Only Memory), an EPROM (Erasable ProgrammableRead Only Memory), an EEPROM (Electrically Erasable Programmable ReadOnly Memory) and a Flash memory.

The electronic device 1300 also includes a transceiver 1320 thatsupports wireless communication with other devices or services allowingdata and control information to be sent as well as received by thedevice 1300. The wireless communication can be supported using any of avariety of different public or proprietary communication networks orprotocols such as cellular networks (e.g., third generation networks,fourth generation networks such as Long Term Evolution networks),wireless local area networks such as Wi-Fi networks, and so forth.

The electronic device 1300 can also include an audio or video processingsystem 1322 that processes audio data or passes through the audio andvideo data to an audio system 1324 or to a display system 1326. Theaudio system or the display system may include any devices that process,display, or otherwise render audio, video, display, or image data.Display data and audio signals can be communicated to an audio componentor to a display component via a radio frequency link, S-video link, highdefinition multimedia interface (HDMI), composite video link, componentvideo link, digital video interface, analog audio connection, or othersimilar communication link, such as media data port 1328. Inimplementations the audio system or the display system are externalcomponents to the electronic device. Alternatively or in addition, thedisplay system can be an integrated component of the example electronicdevice, such as part of an integrated touch interface.

Although embodiments of techniques for user interface adaptation basedon detected user location have been described in language specific tofeatures or methods, the subject of the appended claims is notnecessarily limited to the specific features or methods described.Rather, the specific features and methods are disclosed as exampleimplementations of techniques for user interface adaptation based ondetected user location.

What is claimed is:
 1. A method performed at an electronic deviceincluding a display and a plurality of sensors, comprising: detecting,by a first set of the sensors, information from an environment of theelectronic device; obtaining content for display by the electronicdevice; determining based on the information from the environment of theelectronic device whether a user is in close physical proximity to theelectronic device; and based on a determination that the user is inproximity to the electronic device: determining using a second set ofthe sensors a location of the user relative to the electronic device;determining based on the location of the user relative to the electronicdevice an orientation for displaying the content on the display of theelectronic device; reformatting the content for display on the displayof the electronic device based on the user location and a rotation ofthe display with respect to the orientation; and displaying thereformatted content on the display of the electronic device.
 2. Themethod of claim 1, wherein detecting information from the environment ofthe electronic device includes detecting a voice input from theenvironment of the electronic device.
 3. The method of claim 2, whereindetecting the voice input includes detecting a hotword.
 4. The method ofclaim 2, wherein the voice input includes a request for firstinformation.
 5. The method of claim 4, wherein the obtained content is aresponse to the request for first information.
 6. The method of claim 1,wherein the reformatting includes one or more of adjusting a color,brightness, an angle increment, or a size of the information content. 7.The method of claim 1, wherein the display has portrait and landscapedisplay modes.
 8. The method of claim 1, further comprising:determining, based on the information detected by the first set of thesensors, that multiple users are in close proximity to the electronicdevice; selecting one of the multiple users, wherein determining thelocation of the user relative to the electronic device comprisesdetermining the location of the selected user relative to the electronicdevice; and wherein determining the orientation for displaying thecontent on the display comprises determining the orientation fordisplaying the content on the display based on the location of theselected user relative to the electronic device.
 9. The method of claim8, wherein selecting one of the multiple users includes one or more of:selecting the one of the multiple users who is closest to the electronicdevice; selecting the one of the multiple users who is moving fastest;selecting the one of the multiple users having a face recognized by theelectronic device; or selecting the one of the multiple users who ismoving towards the electronic device.
 10. The method of claim 1, whereinthe reformatting and the displaying are performed in the absence ofphysical manipulation of the electronic device by the user.
 11. Anelectronic device, comprising: a plurality of sensors; a display; one ormore processors; and memory storing one or more programs for executionby the one or one or more processors, the one or more programscomprising instructions for: detecting, by a first set of the sensors,information from an environment of the electronic device; obtainingcontent for display by the electronic device; determining based on theinformation from the environment of the electronic device whether a useris in close physical proximity to the electronic device; and based on adetermination that the user is in proximity to the electronic device:determining using a second set of the sensors a location of the userrelative to the electronic device; determining based on the location ofthe user relative to the electronic device an orientation for displayingthe content on the display of the electronic device; reformatting thecontent for display on the display of the electronic device based on theuser location and a rotation of the display with respect to theorientation; and displaying the reformatted content on the display ofthe electronic device.
 12. The electronic device of claim 11, the one ormore programs comprising instructions for: repeating determining thelocation of the user relative to the electronic device; and changing theorientation for displaying the content on the display of the electronicdevice as the location of the user relative to the electronic devicechanges.
 13. The electronic device of claim 12, the one or more programsfurther comprising instructions for: imposing a time limit on changingthe orientation for displaying the content on the display of theelectronic device so that the orientation for displaying the content isnot changed at greater than a threshold frequency.
 14. The electronicdevice of claim 13, the one or more programs further comprisinginstructions for: changing the orientation for displaying the content onthe display of the electronic device only if movement of the userrelative to the electronic device exceeds an angular threshold.
 15. Theelectronic device of claim 11, wherein the instructions for reformattingand the displaying are performed in the absence of physical manipulationof the electronic device by the user.
 16. A non-transitory computerreadable storage medium storing one or more instructions that, whenexecuted, cause one or more processors of an electronic device includinga display and a plurality of sensors to: detect, by a first set of thesensors, information from an environment of the electronic device;obtain content for display by the electronic device; determine based onthe information from the environment of the electronic device whether auser is in close physical proximity to the electronic device; and basedon a determination that the user is in proximity to the electronicdevice: determine using a second set of the sensors a location of theuser relative to the electronic device; determine based on the locationof the user relative to the electronic device an orientation fordisplaying the content on the display of the electronic device; reformatthe content for display on the display of the electronic device based onthe user location and a rotation of the display with respect to theorientation; and display the reformatted content on the display of theelectronic device.
 17. The non-transitory computer readable storagemedium of claim 16, wherein detecting information from the environmentof the electronic device includes detecting a voice input from theenvironment of the electronic device.
 18. The non-transitory computerreadable storage medium of claim 17, wherein the voice input includes arequest for first information.
 19. The non-transitory computer readablestorage medium of claim 18, wherein the obtained content is a responseto the request for first information.
 20. The non-transitory computerreadable storage medium of claim 16, wherein the reformatting includesone or more of adjusting a color, brightness, an angle increment, or asize of the information content.